Blog

No more page refreshing with CBWIRE and Turbo Drive

Grant Copley September 12, 2022

Spread the word

Grant Copley

September 12, 2022

Spread the word


Share your thoughts

tl;dr

Turbo Drive can significantly enhance the user experience of your server-side apps by removing unnecessary page refreshes, and it doesn't take much to implement. Once Turbo Drive is installed, link clinks and form submissions will happen in the background via AJAX. You can use Turbo Drive with or without CBWIRE. If you are using CBWIRE, you can now use a plugin to make CBWIRE and Turbo Drive play together nicely.

CBWIRE and Turbo Drive

One of our core goals with the v2 release of CBWIRE was to get it working with Turbo Drive. Initially, we ran into a bunch of JS errors.

Turbo Drive, formerly Turbolinks, is a JavaScript library that watches for link clicks and form submissions, performs them in the background via AJAX, and updates the page without a full reload. Turbo Drive allows you to build apps that look and feel like single-page applications without completely overhauling your code. Even better, it only takes a couple of lines of code to implement.

Setup

NPM

You can install Turbo by running the following npm command at the root of your project.

npm i @hotwired/turbo

Then you can require or import Turbo.

import * as Turbo from "@hotwired/turbo"

Skypack

There is also a Skypack available which you can add to the <head></head> of your layout.


CBWIRE / Livewire Plugin

For Turbo to work correctly with Livewire ( and therefore CBWIRE ), you will need to include the Turbo plugin below your wireScripts() call in your layout.


Note: You MUST have either the data-turbolinks-eval="false" or data-turbo-eval="false" attributes added to the script tag (having both won't hurt).

Enjoy!

Once Turbo is installed, you should find that clicking links and submitting forms within your app does not require any page refreshes.

Turbo listens for various UI events and fetches the updated content from the server via background XHR requests.

For additional information on how Turbo can be used and configured, please see https://turbo.hotwired.dev/.

Also, you can find the CBWIRE documentation at https://cbwire.ortusbooks.com/.

Build something extraordinary.✌️

Add Your Comment

Recent Entries

Ortus Monthly Recap - Jan/Feb

Ortus Monthly Recap - Jan/Feb

Ortus Solutions is kicking off 2025 with major milestones, from the highly anticipated Into the Box 2025 to groundbreaking advancements in BoxLang and key industry event appearances at Jfokus and DevNexus 2025. With new product releases, enhanced compatibility, and exclusive discounts, we’re equipping developers with the tools they need to build faster, smarter, and more efficiently.Let’s dive into the latest updates shaping the future of modern web development!

Maria Jose Herrera
Maria Jose Herrera
March 07, 2025
BoxLang 1.0.0 RC2 Launched

BoxLang 1.0.0 RC2 Launched

We’re entering the final stretch of our pre-releases, and we couldn’t be more excited to introduce RC2! 🚀 This release marks a major leap in performance and compatibility, the result of over six months of intensive development. Beyond enhanced stability and seamless integration, RC2 delivers game-changing performance optimizations that push the boundaries of efficiency. Get ready for our fastest, most refined release yet!

Luis Majano
Luis Majano
March 05, 2025
Building a Web App with BoxLang!

Building a Web App with BoxLang!

BoxLang, the new JVM-based scripting language from Ortus Solutions, is gaining traction among developers looking for a modern, lightweight alternative for building web applications. In a Recent blog post, Raymond Camden took it for a spin by developing a simple blog application, highlighting BoxLang's capabilities and ease of use. Let’s break down his experience and key takeaways.

Maria Jose Herrera
Maria Jose Herrera
March 04, 2025